package cn.iocoder.yudao.module.nmkj.service.teamintroduce;

import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.nmkj.controller.admin.teamintroduce.vo.*;
import cn.iocoder.yudao.module.nmkj.dal.dataobject.teamintroduce.TeamIntroduceDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;

/**
 * 团队介绍 Service 接口
 *
 * @author 芋道源码
 */
public interface TeamIntroduceService {

    /**
     * 创建团队介绍
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createTeamIntroduce(@Valid TeamIntroduceSaveReqVO createReqVO);

    /**
     * 更新团队介绍
     *
     * @param updateReqVO 更新信息
     */
    void updateTeamIntroduce(@Valid TeamIntroduceSaveReqVO updateReqVO);

    /**
     * 删除团队介绍
     *
     * @param id 编号
     */
    void deleteTeamIntroduce(Long id);

    /**
     * 获得团队介绍
     *
     * @param id 编号
     * @return 团队介绍
     */
    TeamIntroduceDO getTeamIntroduce(Long id);

    /**
     * 获得团队介绍分页
     *
     * @param pageReqVO 分页查询
     * @return 团队介绍分页
     */
    PageResult<TeamIntroduceDO> getTeamIntroducePage(TeamIntroducePageReqVO pageReqVO);

    /**
     * 获得团队介绍列表
     *
     * @param reqVO 列表查询
     * @return 团队介绍列表
     */
    List<TeamIntroduceDO> getTeamIntroduceList(TeamIntroducePageReqVO reqVO);

}